package tools

import (
	pb "study-demo/api"
)

type Response struct {
	// 代码
	Code int `json:"code" example:"200"`
	// 数据集
	Data interface{} `json:"data"`
	// 消息
	Msg string `json:"msg"`
	// 错误原因
	Status string `json:"status"`
}

type Page struct {
	List      interface{} `json:"list"`
	Count     int         `json:"count"`
	PageIndex int         `json:"pageIndex"`
	PageSize  int         `json:"pageSize"`
}

// 失败数据处理
func ReplayError(code int, err error, msg string) (reply *pb.Reply, err_r error) {
	var res Response
	res.Code = code

	if err != nil {
		res.Msg = err.Error()
		res.Status = err.Error()
	}

	if msg != "" {
		res.Msg = msg
	}
	result, _ := StructToJsonStr(res)
	return &pb.Reply{Message: result}, nil
}

//成功数据处理
func ReplayOK(data interface{}, msg string) (reply *pb.Reply, err_r error) {
	var res Response
	res.Code = 200
	if msg != "" {
		res.Msg = msg
	}
	res.Data = data
	result, _ := StructToJsonStr(res)
	return &pb.Reply{Message: result}, nil
}